package com.sosky;

/**
 * 1523. 在区间范围内统计奇数数目
 * <p>
 * 给你两个非负整数 low 和 high 。请你返回 low 和 high 之间（包括二者）奇数的数目。
 * <p>
 * 示例 1：
 * 输入：low = 3, high = 7
 * 输出：3
 * 解释：3 到 7 之间奇数数字为 [3,5,7] 。
 * <p>
 * 示例 2：
 * 输入：low = 8, high = 10
 * 输出：1
 * 解释：8 到 10 之间奇数数字为 [9] 。
 * <p>
 * 提示：
 * 0 <= low <= high <= 10^9
 */
public class Solution1523 {
    public static void main(String[] args) {
        System.out.println(countOdds(3, 7));
        System.out.println(countOdds(8, 10));
        System.out.println(countOdds(11, 11));
    }

    public static int countOdds(int low, int high) {
        int result = 0;
        if (low % 2 == 1 && high % 2 == 1) {
            result += (high - low) / 2 + 1;
        } else if (low % 2 == 1 && high % 2 == 0) {
            result += (high - low) / 2 + 1;
        } else if (low % 2 == 0 && high % 2 == 0) {
            result += (high - low) / 2;
        } else if (low == high) {
            result += 1;
        } else {
            result += (high - low) / 2 + 1;
        }
        return result;
    }
}
